前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏

完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

# 前言

本章开始都是对之前的 DevOps 流程的进一步升级,所以内容跟前端的关联已经越来越少,可能读起来会有一定的学习成本,尽可能用最简单的方式阐述。

# Docker

# 什么是 Docker

Docker 是一个 开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的 镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现 虚拟化。容器是完全使用 沙箱机制,相互之间不会有任何接口。

Docker 优点如下:

  1. 运行速度快,启动,停止,开始,重启等等操作都是以秒或毫秒为单位的;
  2. 轻量,最小的成本完成一个虚拟机带来的效果;
  3. 环境隔离,每个 Docker 都可以单独启动,天然的环境隔离优势;
  4. 跨段运行,Docker 的运行不限于宿主系统,可以运行在多种宿主系统中;
  5. 集成,使用 Docker compose 可以集成一整套项目运行环境;
  6. 云端,Docker 目前在各大云服务里面是集成比较简单也友好的

# 为什么要使用 Docker

虽然 Docker 的优点非常多,比如上面所说的环境隔离、跨端运行等等。但是要思考一个问题,在我们的 DevOps 中为什么要引入 Docker?

首先任何一种技术的引入或者流程的改进都是需要成本的,如果引入新技术的成本远大于目前的可接受范围,那么这个技术是否依然值得引入?

假如只是为了单纯使用的新技术,那么新技术引入带来的副作用是否能承受,有没有预备方案进行兜底,这都是需要去考虑的。

在完成上述一系列简单的思考确认可以进行下一步之后,再考虑接入 Docker。

市面上不少前端发布都是将项目代码在 Docker 进行构建,再在 Docker 里面启动一个 Nginx 服务,提供静态资源访问,这样确实没问题,但是如果仅仅是静态资源的话,这种操作是有点过于沉重的。构建完成直接将静态资源上传到文件服务器例如 COS 或者 OSS 中,显然是更为方便省事。

当然如果发布的是 Nodejs 这种的后端系统,那么采用这种构

fe
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏